Multi pipe
Table of Content
connect two pipes#
- nter* element are design to share and multiplex content between two pipelines running in the same process
- shm* element are design to share data between pipes run on separate process
intervideosink / intervideosrc#
Connect pipe line in same process
Decoupled pipelines in GStreamer
Complete pipeline = pipeline source + pipeline sink
gst-launch-1.0 videotestsrc \
! video/x-raw,width=640,height=480,format=RGB \
! videoconvert \
! intervideosink \
intervideosrc \
! queue \
! video/x-raw,width=640,height=480,format=RGB \
! videoconvert \
! autovideosink
shmsink / shmsrc#
Connect pipeline between process
send
gst-launch-1.0 videotestsrc \
! video/x-raw,width=640,height=480,format=RGB,framerate=30/1 \
! videoconvert \
! shmsink socket-path=/tmp/foo sync=true wait-for-connection=false shm-size=10000000
recive
gst-launch-1.0 shmsrc socket-path=/tmp/foo \
! video/x-raw,width=640,height=480,format=RGB,framerate=30/1 \
! videoconvert \
! autovideosink